package com.ruoyi.management_controller.PublicOpinion.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 民情动态对象 public_opinion
 * 
 * @author ruoyi
 * @date 2024-07-19
 */
public class PublicOpinion extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long opinionId;

    /** 标识提交意见的选民 */
    @Excel(name = "标识提交意见的选民")
    private Long voterId;

    /** 记录选民的姓名 */
    @Excel(name = "记录选民的姓名")
    private String voterName;

    /** 记录选民的联系方式 */
    @Excel(name = "记录选民的联系方式")
    private String contactInfo;

    /** 标识意见所属的选区 */
    @Excel(name = "标识意见所属的选区")
    private Long constituencyId;

    /** 标识联系的代表 */
    @Excel(name = "标识联系的代表")
    private Long representativeId;

    /** 意见或建议的标题 */
    @Excel(name = "意见或建议的标题")
    private String title;

    /** 意见或建议的材料 */
    @Excel(name = "意见或建议的材料")
    private String material;

    /** 意见或建议的内容 */
    @Excel(name = "意见或建议的内容")
    private String content;

    /** 记录反馈给选民的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录反馈给选民的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date feedbackTime;

    /** 记录反馈给选民的内容 */
    @Excel(name = "记录反馈给选民的内容")
    private String feedbackContent;

    /** 建议状态，0未处理，1待办，-1办结 */
    @Excel(name = "建议状态，0未处理，1待办，-1办结")
    private Long voterStatus;

    /** 联系对象 */
    @Excel(name = "联系对象")
    private String contactPerson;

    /** 审批反馈 */
    @Excel(name = "审批反馈")
    private String approvalFeedback;

    /** 记录意见提交的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录意见提交的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /** 标识意见的处理状态 */
    @Excel(name = "标识意见的处理状态")
    private String processingStatus;

    /** 记录街道或部门的处理意见 */
    @Excel(name = "记录街道或部门的处理意见")
    private String processingOpinion;

    /** 记录处理完成的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录处理完成的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date processingTime;

    public void setOpinionId(Long opinionId) 
    {
        this.opinionId = opinionId;
    }

    public Long getOpinionId() 
    {
        return opinionId;
    }
    public void setVoterId(Long voterId) 
    {
        this.voterId = voterId;
    }

    public Long getVoterId() 
    {
        return voterId;
    }
    public void setVoterName(String voterName) 
    {
        this.voterName = voterName;
    }

    public String getVoterName() 
    {
        return voterName;
    }
    public void setContactInfo(String contactInfo) 
    {
        this.contactInfo = contactInfo;
    }

    public String getContactInfo() 
    {
        return contactInfo;
    }
    public void setConstituencyId(Long constituencyId) 
    {
        this.constituencyId = constituencyId;
    }

    public Long getConstituencyId() 
    {
        return constituencyId;
    }
    public void setRepresentativeId(Long representativeId) 
    {
        this.representativeId = representativeId;
    }

    public Long getRepresentativeId() 
    {
        return representativeId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setMaterial(String material) 
    {
        this.material = material;
    }

    public String getMaterial() 
    {
        return material;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setFeedbackTime(Date feedbackTime) 
    {
        this.feedbackTime = feedbackTime;
    }

    public Date getFeedbackTime() 
    {
        return feedbackTime;
    }
    public void setFeedbackContent(String feedbackContent) 
    {
        this.feedbackContent = feedbackContent;
    }

    public String getFeedbackContent() 
    {
        return feedbackContent;
    }
    public void setVoterStatus(Long voterStatus) 
    {
        this.voterStatus = voterStatus;
    }

    public Long getVoterStatus() 
    {
        return voterStatus;
    }
    public void setContactPerson(String contactPerson)
    {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson()
    {
        return contactPerson;
    }
    public void setApprovalFeedback(String approvalFeedback) 
    {
        this.approvalFeedback = approvalFeedback;
    }

    public String getApprovalFeedback() 
    {
        return approvalFeedback;
    }
    public void setSubmitTime(Date submitTime) 
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }
    public void setProcessingStatus(String processingStatus) 
    {
        this.processingStatus = processingStatus;
    }

    public String getProcessingStatus() 
    {
        return processingStatus;
    }
    public void setProcessingOpinion(String processingOpinion) 
    {
        this.processingOpinion = processingOpinion;
    }

    public String getProcessingOpinion() 
    {
        return processingOpinion;
    }
    public void setProcessingTime(Date processingTime) 
    {
        this.processingTime = processingTime;
    }

    public Date getProcessingTime() 
    {
        return processingTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("opinionId", getOpinionId())
            .append("voterId", getVoterId())
            .append("voterName", getVoterName())
            .append("contactInfo", getContactInfo())
            .append("constituencyId", getConstituencyId())
            .append("representativeId", getRepresentativeId())
            .append("title", getTitle())
            .append("material", getMaterial())
            .append("content", getContent())
            .append("feedbackTime", getFeedbackTime())
            .append("feedbackContent", getFeedbackContent())
            .append("voterStatus", getVoterStatus())
            .append("contactPerson", getContactPerson())
            .append("approvalFeedback", getApprovalFeedback())
            .append("submitTime", getSubmitTime())
            .append("processingStatus", getProcessingStatus())
            .append("processingOpinion", getProcessingOpinion())
            .append("processingTime", getProcessingTime())
            .toString();
    }
}
